package com.project.service;


import com.project.bean.UserBean;

import java.util.List;

/*用户业务接口*/
public interface IUserService {
    /**
     * 登录
     *
     * @param userName 用户名
     * @param pwd      密码
     * @return user对象, 如果登陆失败返回空值
     */
    UserBean login(String userName, String pwd);

    /**
     * 添加用户
     * 验证用户是否存在， 如果存在返回false
     * 如果不存在 完成用户添加
     *
     * @param user 用户对象
     */
    boolean addUser(UserBean user);

    /**
     * 检测用户名是否存在。
     *
     * @param userName 用户名
     * @return 用户名是否存在
     */
    boolean checkName(String userName);


    /**
     * 查询所有用户
     *
     * @return 用户集合
     */
    List<UserBean> findAll();

    /**
     * 按id删除用户
     * 如果要删除用户和登陆用户名同名，则返回false
     * @param id        用户id
     * @param loginUser 登陆用户
     * @return 删除是否成功
     */
    boolean delUser(int id, UserBean loginUser);

    /**
     * 按id查询用户
     *
     * @param id 用户id
     * @return 用户对象
     */
    UserBean findById(int id);

    /**
     * 按用户id修改等级
     *
     * @param id    用户id
     * @param level 新等级
     */
    void updateUserLevel(int id, String level);

    /**
     * 修改密码
     *
     * @param id  用户id
     * @param pwd 新密码
     */
    void updateUserPwd(int id, String pwd);
}
